#include <stdio.h>
#include "../bitparalell/BitVector.h"
#include "../tools/Timer.h"

int main(){
	Timer* tm = new Timer();
	tm->start();
	BitVector* a = new BitVector(10);
	BitVector* b = new BitVector(10);
	BitVector* c = new BitVector(10);
	a->setAll();
	a->print();
	a->unsetAll();
	a->print();
	a->set(3);
	a->set(5);
	a->set(7);
	a->print();	
	b->setAll();
	b->unset(3);
	b->unset(7);
	b->print();
	c->sum(b);
	c->print();
	c->dot(a);
	c->print();
	printf("\n numero de 1 em A : %lu \n", a->count());
	printf("\n numero de 1 em B : %lu \n", b->count());
	printf("\n numero de 1 em C : %lu \n", c->count());
	printf("\n primeiro 1 em A : %d \n", a->firstOne());
	printf("\n primeiro 1 em B : %d \n", b->firstOne());
	printf("\n primeiro 1 depois de 3 em C : %d \n", c->firstOneAfter(3));
	printf("\n time = %f \n", tm->stop());
	return 0;
}
